from flask import Flask
from datetime import datetime
# import bcrypt
from DB import db
app = Flask(__name__)

# 配置数据库 URI



# db.init_app(app)
# User 模型类
class User(db.Model):
    __tablename__ = 'users'  # 显式指定表名（默认会是类名的小写形式）

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 用户 ID，自增主键
    username = db.Column(db.String(50), unique=True, nullable=False)  # 用户名，最大长度 50，唯一，不能为空
    email = db.Column(db.String(100), unique=True, nullable=False)  # 用户邮箱，最大长度 100，唯一，不能为空
    password = db.Column(db.String(255), nullable=False)  # 用户密码，最大长度 255，不能为空
    created_at = db.Column(db.DateTime, default=datetime.utcnow)  # 创建时间，默认当前时间
    updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)  # 更新时间，默认当前时间，更新时自动更新时间

    def __repr__(self):
        return f'<User {self.username}>'

    # # 设置密码时，自动加密
    # def set_password(self, password):
    #     self.password = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
    #
    # # 校验密码
    # def check_password(self, password):
    #     return bcrypt.checkpw(password.encode('utf-8'), self.password.encode('utf-8'))
